-- Viral Resistance - T-Engine 4 Module
-- Copyright (C) 2010 Mikolai Fajer
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Mikolai Fajer "yufra"
-- mfajer@gmail.com

local Object = require "mod.class.Object"

defineTile('>', 'DOWN')
defineTile('<', 'UP')
defineTile('#', 'WALL')
defineTile('*', 'WALL', nil, 'EMERGENCY_LIGHT', nil, nil, {type="light", subtype="emergency"})
defineTile('.', 'FLOOR')
defineTile('o', 'WINDOWED_DOOR')
defineTile('+', 'WOODEN_DOOR')
defineTile('L', 'WINDOWED_DOOR_LOCKED')
defineTile('=', 'DESK')

-- Add the stairs
addSpot({64, 1}, 'stairs', 'c')

-- Add the elevator doors and buttons
defineTile('E', 'ELEVATOR_DOOR')
local button = Object.new{
	name="Elevator Button",
	desc=[[A panel of buttons.]],
	display='x', color=colors.SLATE,
	can_talk = "elevator",
	show_tooltip=true,
	type = "button", subtype="button",
}
defineTile('e', 'WALL', button)

-- Add the generator and generator panel
defineTile('~', 'GENERATOR')
defineTile('|', 'CONDUIT_VERTICAL')
defineTile('-', 'CONDUIT_HORIZONTAL')
defineTile('/', 'CONDUIT_FORWARDSLASH')
defineTile('\\', 'CONDUIT_BACKSLASH')
local button = Object.new{
	name="Generator Panel",
	desc=[[A panel of buttons.]],
	display='x', color=colors.SLATE,
	can_talk = "generator_panel",
	show_tooltip=true,
	type = "button", subtype="button",
}
defineTile('P', 'WALL', button)

-- Add signs
local newSign = function(tooltip)
		return Object.new{show_tooltip=true, tooltip=tooltip, name='sign', display='?', color=colors.GREY}
	end
defineTile('G', 'WALL', newSign("Generator Room"))

-- Add the spider zombie spot
defineTile('s', 'FLOOR', nil, nil, nil, nil, {type="spawn", subtype="SPIDER_ZOMBIE"})

startx = 4
starty = 4
endx = 4
endy = 4

return [[
##################################################################################################
################################################################<#|###############################
################################################################.#|###############################
################################################################..|###############################
################################################################..|###############################
################.###.###.###.###.###.###.###.###.###.###.###.####o################################
#############.....................................................|.##############################
#/--------\##.##################################################..|.##############################
#~~~....~~~##.##################################################..|###############################
#~~~....~~~##.##################################################..|###############################
#|........|##.##################################################..|###############################
#|.s......|##.##################################################..|###############################
#~~~....~~~##.##################################################..|###############################
#~~~....~~~##.##################################################..|###############################
#|........|##.##################################################..|###############################
#|.s......|##.###############################...#...############..|###############################
#~~~....~~~##.###############################...e...############..|###############################
#~~~....~~~##.################################E#*#E#############..|###############################
*|.........#......................................................|###############################
P|.........+......................................................|###############################
*|......../G------------------------------------------------------/###############################
#~~~....~~~###################################E#*#E###############################################
#~~~....~~~##################################...e...##############################################
#|.s......|##################################...#...##############################################
#|........|#######################################################################################
#~~~....~~~#######################################################################################
#~~~....~~~#######################################################################################
#|.s......|#######################################################################################
#|........|#######################################################################################
#~~~....~~~#######################################################################################
#~~~....~~~#######################################################################################
#\--------/#######################################################################################
##################################################################################################
##################################################################################################
##################################################################################################
##################################################################################################
##################################################################################################
##################################################################################################
##################################################################################################]]